package com.hiwan.system.dao.login;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.hiwan.framework.dao.annotation.MyBatisDao;
import com.hiwan.system.common.base.GenericDao;
import com.hiwan.system.pojo.LoginInfo;
import com.hiwan.system.pojo.LoginfoStatistics;

@MyBatisDao
public interface LoginDao extends GenericDao<LoginInfo,String>{

	/**
	 * 登记登录信息
	 * @param loginInfo
	 * @return
	 */
	public int insertLoginInfo(LoginInfo loginInfo);
	
	/**
	 * 查询登录过的用户
	 * @return
	 */
	public List<LoginInfo> selectLoginedUsersList(@Param("userId")String userId, @Param("startTime")String startTime, @Param("endTime")String endTime);
	
	/**
	 * 记录登出时间戳
	 * @param loginInfo
	 * @return
	 */
	public int update(LoginInfo loginInfo);

	/**
	 * 按日期统计机构使用系统次数
	 * @param startTime
	 * @param endTime
	 * @param orgId
	 * @return
	 */
	public List<LoginfoStatistics> selectCountLoginfoByOrgList(@Param("startTime")String startTime,@Param("endTime") String endTime, @Param("orgId") String orgId);

	/**
	 * 按日期、机构统计各用户使用系统次数
	 * @param startTime
	 * @param endTime
	 * @param orgId
	 * @return
	 */
	public List<LoginfoStatistics> countLoginfoByUser(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("orgId")String orgId);
	


}
